home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / hc11help.arc / 68HC11.001 next >
Text File  |  1989-04-18  |  7KB  |  104 lines

  1.  
  2. Q.   What makes my first EEPROM location ($B600) go away now & then?
  3. A:   You need a good reset circuit to hold the part in reset during
  4.      power on and power off cycles. You should also take care to
  5.      initialize all interrupt vectors, especially illegal opcode. Two
  6.      example circuits are shown in the new data sheet but these are not
  7.      necessarily the best for all applications because one draws
  8.      significant current while the other has a limited temp range. If
  9.      the application operates at E = 1Mhz or less, the reset threshold
  10.      can be anywhere from about 3V to 4.5V. If E = 2Mhz and the
  11.      application operates at high temp, the reset trip point should be
  12.      4V to 4.5V. The trip point needs to be above the level where the
  13.      CPU can function normally (won't misinterpret instructions or
  14.      data) and reset must not release until the charge pump is
  15.      discharged enough so it cannot cause programming or erase cycles
  16.      (Vdd = 2V is risky but 0.7V should be OK).
  17.  
  18.      On mask sets A38P & A49N, location $B600 seemed prone to this
  19.      problem by coincidence because the most likely runaway scenario is
  20.      as follows:
  21.      When Vdd gets low enough for the CPU to misread information, an
  22.      illegal opcode may be encountered fairly quickly. In many cases
  23.      the illegal opcode vector doesn't point to a meaningful program
  24.      (or the program isn't readable) so another illegal may be fetched
  25.      leading to repeated stacking of the registers. All addresses are
  26.      then quickly written in descending order. If the value written to
  27.      the PPROG register has bits 0 and 1 set, a program or erase
  28.      operation will be initiated and the most recently written address
  29.      in EEPROM would be the lowest address ($B600). Though this is the
  30.      most common runaway scenario it is not the only possibility and
  31.      any EEPROM location including the CONFIG register is subject to
  32.      corruption.
  33.  
  34.      On mask set B96D, the required sequence for program and erase was
  35.      strickly enforced by logic to reduce (drastically) the probability
  36.      of accidentally turning on the charge pump output during a
  37.      runaway. Also, the CONFIG register was changed such that it can
  38.      only be altered in 'Special' modes (test or bootstrap). Proper
  39.      system design still requires an external low voltage inhibit (LVI)
  40.      reset. It is unlikely that a LVI will be added on chip in the
  41.      foreseeable future.
  42.  
  43.      In the new data sheet, an oscillator startup delay (big RC on
  44.      reset) is no longer specifically required although a few
  45.      applications may still want to include a delay if timing is
  46.      important    during the first several milliseconds of operation.
  47.      Often the LVI reset provides this delay in conjunction with the
  48.      power supply rise time. The 68HC11 itself can operate with a DC
  49.      speed clock so the oscillator need not be running full before
  50.      reset is released.
  51.  
  52. Q.   How can I get 'real' bus timing numbers that reflect what the
  53.      68hx11 really does? How can i get bus timing numbers for bus
  54.      frequencies other than 1 and 2 Mhz?
  55. A:   The new data sheet includes timing numbers that are derived from
  56.      real characterization over temperature. Also for each timing
  57.      number, there is a formula which relates the spec number to the
  58.      clock picket which causes it. From these you can calculate the
  59.      timing numbers for any bus frequency and you can distinguish bus
  60.      frequency factors from circuit delays.
  61.  
  62. Q.   How does the bootstrap mode work?
  63. A:   The new data sheet includes a good description including special
  64.      features such as how to force a jump to the first EEPROM address
  65.      after a reset. If this is still not enough, we can send out a
  66.      source code listing of the bootstrap ROM upon specific request. On
  67.      very new parts, the bootstrap program for parts which do not
  68.      specify the security option will not include the code to check for
  69.      security and erase EEPROM. This change should not cause any
  70.      changes to part usage.
  71.  
  72. Q.   I developed and debugged my program with a M68HC11EVB, a
  73.      M68HC11EVM, or other development system, then I put it into the
  74.      EEPROM of a 68HC11 and tried to run it but it wouldn't work.
  75.      What's wrong?
  76. A:   There are a few possibilities here. First, be sure that you
  77.      initialized the stack pointer in your program. Most debug software
  78.      like BIFFALO and EVMBUG set the stack pointer to a default safe
  79.      value so you may get all the way thruogh your development without
  80.      realizing that you forgot to set it. Another possibility is
  81.      related to using the bootstrap mode method to jump to $B600 upon
  82.      reset. This is done by connecting the RxD and TxD pins of port D
  83.      together and to a pullup resistor and setting the MCU in the boot-
  84.      strap mode (MODE A and MODE B pins low during reset). The bootstrap
  85.      program sets up the SCI and transmits a break character. If the
  86.      receiver sees a break as the first character, the program jumps to
  87.      $B600 instead of continuing with the download. By the time your
  88.      program starts at $B600, some of the reset values of registers have
  89.      changed by the bootstrap program. The important changes are that the
  90.      SCI transmitter and receiver have been turned on and port D has been
  91.      configured for wire-or operation (by settint DWON bit in SPCR register).
  92.      The result is that port D may not operate as your program expects.
  93.  
  94. Q.   I have been using the BUFFALO method for jumping to EEPROM (tie PE0
  95.      low) and I have had no problems. Recently, I got a batch of parts
  96.      that wouldn't work. What's wrong?
  97. A:   For a long time, 'A0 and 'A1 parts had BUFFALO in the ROM although
  98.      it was not guaranteed to be there. Due to the current demand for
  99.      'HC11, we now build almost no parts with BUFFALO in ROM. Today's
  100.      parts usually have a custom pattern in ROM which does not support
  101.      the PE0 method of jumping to EEPROM. You should change to the boot-
  102.      strap method to jump to EEPROM. This method is guarenteed to work
  103.      for all parts.
  104.